"""
  Copyright 2008 Texas A&M University Licensed under the
  Educational Community License, Version 2.0 (the "License"); you may
  not use this file except in compliance with the License. You may
  obtain a copy of the License at
  
  http://www.osedu.org/licenses/ECL-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an "AS IS"
  BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
  or implied. See the License for the specific language governing
  permissions and limitations under the License.
"""

import datetime
import time

try:
    from xml.etree import ElementTree as etree
except ImportError:
    try:
        from elementtree import ElementTree as etree
    except ImportError:
        try:
            from lxml import etree
        except ImportError:
            raise ImportError('You must use Python 2.5+ or install elementtree')

try:
    import hashlib
    hash_factory = hashlib.sha256
except ImportError:
    import sha
    hash_factory = sha.new

def strptime(date_string, format):
    return datetime.datetime(*(time.strptime(date_string, format)[0:6]))

def temporary_id(*args):
    args = list(args)
    args.append(time.time())
    return hash_factory(''.join([str(a) for a in args])).hexdigest()
    